package com.goldgov.meetingstatistics.service;

import java.util.List;

import com.goldgov.meetingstatistics.bean.MeetingOrg;
import com.goldgov.meetingstatistics.bean.MeetingOrgQuery;
import com.goldgov.meetingstatistics.bean.MeetingParamsBean;
import com.goldgov.meetingstatistics.bean.MeetingStatisticsBean;
import com.goldgov.meetingstatistics.bean.OrgMeetingNumber;
import com.goldgov.meetingstatistics.bean.OrgMeetingSign;

public interface MeetingStatisticsService {

	
	
	/**
	 * 三会一课 -- 次数统计
	 * @date 2018年9月7日 上午10:18:22 
	 * @author hanxiangyu
	 * @param meetingParamsBean
	 * @return
	 */
	List<OrgMeetingNumber> getMeetingTime(MeetingParamsBean meetingParamsBean);
	
	/**
	 * 三会一课
	 * @date 2018年9月7日 上午10:15:56 
	 * @author hanxiangyu
	 * @param meetingParamsBean
	 * @return
	 */
	List<OrgMeetingSign> getMeetingSign(MeetingParamsBean meetingParamsBean);
	
	
	/**
	 * 三会一课调度
	 * @date 2018年9月7日 上午10:15:56 
	 * @author hanxiangyu
	 * @param meetingParamsBean
	 * @return
	 */
	void findConTypeNumByYearOrMonth(MeetingParamsBean meetingParamsBean) throws Exception;
	
	/**
	 * 三会一课时间段内有效会议数
	 * @param meetingParamsBean
	 * @return
	 */
	MeetingStatisticsBean countOrgFinishRateByYear(MeetingParamsBean meetingParamsBean)throws Exception;
	/**
	 * 查询支部信息并统计支部的会议数量
	 * @date 2018年10月25日 下午1:07:45 
	 * @author hanxiangyu
	 * @param query
	 * @return
	 */
	List<MeetingOrg> findOrgOrMeetingNumList(MeetingOrgQuery query);
	
	/**
	 * 查询支部信息并统计支部的考勤情况
	 * @date 2018年10月25日 下午1:07:45 
	 * @author hanxiangyu
	 * @param query
	 * @return
	 */
	List<MeetingOrg> findOrgAndMeetingSignList(MeetingOrgQuery query);
	
	
	
	
	
	
	/**
	 * 远程教育
	 */

	/**
	 * 远程教育 -- 次数统计
	 * @date 2018年9月7日 上午10:18:22 
	 * @author hanxiangyu
	 * @param meetingParamsBean
	 * @return
	 */
	List<OrgMeetingNumber> getDisMeetingTime(MeetingParamsBean meetingParamsBean);
	
	/**
	 * 远程教育 -- 考勤统计
	 * @date 2018年9月7日 上午10:15:56 
	 * @author hanxiangyu
	 * @param meetingParamsBean
	 * @return
	 */
	List<OrgMeetingSign> getDisMeetingSign(MeetingParamsBean meetingParamsBean);
	/**
	 * 远程教育
	 * @date 2018年11月23日 下午4:44:27 
	 * @author hanxiangyu
	 * @param query
	 * @return
	 */
	List<MeetingOrg> findOrgDisMeetingNumOrSignList(MeetingOrgQuery query);
	
	
	
	
	
}
